Mark Oteiza [Mon, 20 Feb 2017 02:31:22 +0000 (21:31 -0500)]
Replace nested ifs with cond
* lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
(dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
and cond where appropriate.
(dun-sauna-heat): Accept sauna level as an argument. Use cond.
(dun-take): Use null and dun-mprincl.
(dun-inven-weight, dun-load-d): Reformat.
(dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
Paul Eggert [Sun, 19 Feb 2017 20:22:33 +0000 (12:22 -0800)]
Fix glitches in recent hash table changes
* src/fns.c (Fmake_hash_table): Simplify the machine code slightly
by using 0 rather than -1.
* src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
than a bitfield, for speed (the bitfield did not save space).
(struct Lisp_Hash_Table.rehash_threshold): Now double rather than
float, since the float caused unwanted rounding errors, e.g.,
(hash-table-rehash-threshold (make-hash-table)) yielded
0.
800000011920929 instead of the correct 0.8.
Stefan Monnier [Sun, 19 Feb 2017 18:12:16 +0000 (13:12 -0500)]
* src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
Eli Zaretskii [Sun, 19 Feb 2017 16:40:52 +0000 (18:40 +0200)]
; Minor fix of recent change in fringe.c
* src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Remove an
unnecessary #ifdef introduced in a recent change.
Eli Zaretskii [Sun, 19 Feb 2017 16:35:48 +0000 (18:35 +0200)]
; * src/fns.c (Fmake_hash_table): Prefer 'double' to 'float'.
Eli Zaretskii [Sun, 19 Feb 2017 16:32:51 +0000 (18:32 +0200)]
Avoid aborts during loadup
* src/emacs-module.c (syms_of_module):
* src/image.c (xpm_make_color_table_h): Update calls to
make_hash_table to adjust to a recent change in fns.c.
* src/fns.c (make_hash_table):
* src/lisp.h (make_hash_table): 4th arg is now of type double.
Michael Albinus [Sun, 19 Feb 2017 16:14:35 +0000 (17:14 +0100)]
Rework connection local variables
For connection local variables interface, `class' is renamed
to `profile'. All arguments `criteria' are a plist now.
* doc/lispref/variables.texi (Connection Local Variables):
Rewrite.
* lisp/files-x.el (connection-local-profile-alist): Rename
from `connection-local-class-alist'. Adapt docstring.
(connection-local-criteria-alist): Adapt docstring.
(connection-local-normalize-criteria): New defun.
(connection-local-get-profiles): Rename from
`connection-local-get-classes'. Rewrite.
(connection-local-set-profiles): Rename from
`connection-local-set-classes'. Rewrite.
(connection-local-get-profile-variables): Rename from
`connection-local-get-class-variables'. Rewrite.
(connection-local-set-profile-variables): Rename from
`connection-local-set-class-variables'. Rewrite.
(hack-connection-local-variables)
(hack-connection-local-variables-apply)): Rewrite.
(with-connection-local-profiles): Rename from
`ith-connection-local-classes'. Rewrite.
* lisp/net/tramp.el (tramp-set-connection-local-variables):
Compute criteria.
* lisp/net/tramp-cmds.el (tramp-bug):
Use `connection-local-profile-alist'.
* test/lisp/files-x-tests.el (files-x-test--variables1)
(files-x-test--variables2, files-x-test--variables3)
(files-x-test--variables4, files-x-test--criteria1)
(files-x-test--criteria2): Make them a defconst.
(files-x-test--application)
(files-x-test--another-application, files-x-test--protocol)
(files-x-test--user, files-x-test--machine): New defconst.
(files-x-test--criteria): New defvar.
(files-x-test--criteria3): Remove.
(files-x-test-connection-local-set-profile-variables):
Rename from `files-x-test-connection-local-set-class-variables'.
Rewrite.
(files-x-test-connection-local-set-profiles): Rename from
`files-x-test-connection-local-set-classes'. Rewrite.
(files-x-test-hack-connection-local-variables-apply) Rewrite.
(files-x-test-with-connection-local-profiles): Rename from
`files-x-test-with-connection-local-classes'. Rewrite.
Mark Oteiza [Sun, 19 Feb 2017 13:55:45 +0000 (08:55 -0500)]
; Fix previous change
Actually adjust the comment.
* lisp/play/dunnet.el: Change comment to refer to section, add page
break to better demarcate section.
Mark Oteiza [Wed, 18 Jan 2017 04:15:25 +0000 (23:15 -0500)]
Set up combination and random item location
* lisp/play/dunnet.el (dun-combination): Make defconst.
(tloc, tcomb): Remove. Replace with a top-level form.
Mark Oteiza [Wed, 18 Jan 2017 03:05:48 +0000 (22:05 -0500)]
Replace movement variables with an alist and accessor
* lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
(northwest, southwest, up, down, in, out): Remove.
(dun-movement-alist): New constant.
(dun-movement): New function.
(dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
(dun-down, dun-in, dun-out): Use a symbol for indicating movement.
(dun-move, dun-special-move): Translate movement symbol to an
enumeration.
Mark Oteiza [Wed, 18 Jan 2017 02:34:59 +0000 (21:34 -0500)]
Change top-level setq forms to defvar or defconst
Also collect some code onto fewer lines and reindent.
* lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
(dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
(dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
(room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
(dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
(dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
(dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
(dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
(dun-mode, dun-sauna-level, north, south, east, west, northeast):
(southeast, northwest, southwest, up, down, in, out, dungeon-map):
(dun-objnames, obj-special, dun-room-objects, dun-room-silents):
(dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
(dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
(dun-diggables, dun-room-shorts, dun-endgame-questions): Change
declaration to use defvar or defconst.
(dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
(dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
dun-verblist. Those are now constants and the byte compiler doesn't
allow defconsts in lambda lists.
Mark Oteiza [Wed, 18 Jan 2017 00:11:06 +0000 (19:11 -0500)]
Move all dunnet globals up to the top
* lisp/play/dunnet.el: Adjust comments to reflect moved forms.
(dun-visited, dun-current-room, dun-exitf):
(dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
(dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
(room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
(dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
(dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
(dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
(dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
(dun-mode, dun-sauna-level, north, south, east, west, northeast):
(southeast, northwest, southwest, up, down, in, out, dungeon-map):
(dun-objnames, obj-special, dun-room-objects, dun-room-silents):
(dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
(dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
(dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
top of the file, before any uses.
Michael Albinus [Sun, 19 Feb 2017 08:33:24 +0000 (09:33 +0100)]
Fix bug#25788
* lisp/net/tramp.el (tramp-autoload-file-name-handler):
Do not load tramp.el just for "/". (Bug#25788)
YAMAMOTO Mitsuharu [Sun, 19 Feb 2017 04:42:05 +0000 (13:42 +0900)]
Fix fringe bitmap initialization on MS-Windows
* src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
of fb->bits. (Bug#25673)
Stefan Monnier [Sun, 19 Feb 2017 03:37:05 +0000 (22:37 -0500)]
Change type of `rehash_threshold' and `pure' fields in hash-tables
* src/lisp.h (struct Lisp_Hash_Table): Change type of
`rehash_threshold' and `pure' fields and move them after `count'.
* src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
(Fmake_hash_table, Fhash_table_rehash_threshold):
* src/category.c (hash_get_category_set):
* src/xterm.c (syms_of_xterm):
* src/profiler.c (make_log):
* src/print.c (print_object):
* src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
Paul Eggert [Sun, 19 Feb 2017 02:16:37 +0000 (18:16 -0800)]
Use 'char *FOO' instead of 'char* FOO'
Mark Oteiza [Sun, 19 Feb 2017 01:25:50 +0000 (20:25 -0500)]
More json.el changes
* lisp/json.el (json-read-keyword, json-read-number, json-read-object):
(json-read-array): Just use = for char comparison.
Alan Mackenzie [Sat, 18 Feb 2017 16:01:15 +0000 (16:01 +0000)]
Fix edebug-spec on c-lang-defvar.
This allows c-lang-defvars with the symbol 'dont-doc in the place of the
optional documentation to be instrumented for edebug.
lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
c-lang-defvar.
(c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
'dont-doc.
Lars Ingebrigtsen [Sat, 18 Feb 2017 15:46:06 +0000 (16:46 +0100)]
Lists used as plists now have to be an even length
* lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
(eww-process-text-input): Not here, either.
Michael Albinus [Sat, 18 Feb 2017 13:29:19 +0000 (14:29 +0100)]
Unset `non-essential' in Tramp when not needed anymore
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.3.2-pre".
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
Use `tramp-completion-mode-p'.
* lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
when file name doesn't match `tramp-completion-file-name-regexp'.
Eli Zaretskii [Sat, 18 Feb 2017 12:49:30 +0000 (14:49 +0200)]
Automatically regenerate emacs.1 and *.rc files
* Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
non-Makefile files produced by config.status.
($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
their targets are regenerated when the source changes.
Alan Mackenzie [Sat, 18 Feb 2017 12:38:29 +0000 (12:38 +0000)]
Set the syntax table in AWK Mode.
This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
It fixes bug #25722.
lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
Göktuğ Kayaalp [Sat, 18 Feb 2017 11:17:40 +0000 (13:17 +0200)]
Fix Turkish language environment setup
* lisp/language/european.el ("Turkish"): Fix a typo in Turkish
language setup. (Bug#25763)
Rami Ylimäki [Sat, 18 Feb 2017 11:04:55 +0000 (13:04 +0200)]
Support 24-bit direct colors on text terminals
* src/term.c (init_tty): Use 24-bit terminal colors if corresponding
foreground and background functions are present in terminal type
definition.
* src/tparam.h: Define prototype for tigetstr.
* lisp/term/tty-colors.el (tty-color-define): Convert color palette
index to pixel value on 16.7M color terminals.
(tty-color-24bit): New function to convert color palette index to
pixel value on 16.7M color terminals.
(tty-color-desc): Don't approximate colors on 16.7M color terminals.
* lisp/term/xterm.el (xterm-register-default-colors): Define all named
TTY colors on 16.7M color terminals.
* doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
enable direct color TTY mode.
* etc/NEWS: Mention direct color TTY mode and point to FAQ.
Rami Ylimäki [Sat, 18 Feb 2017 10:56:12 +0000 (12:56 +0200)]
Remove unused TN_max_pairs field
* src/termchar.h (tty_display_info): Remove TN_max_pairs field,
describing maximum number of terminal background/foreground color pairs.
* src/term.c (tty_default_color_capabilities, tty_setup_colors)
(init_tty): Remove references to TN_max_pairs.
Eli Zaretskii [Sat, 18 Feb 2017 10:44:17 +0000 (12:44 +0200)]
Improve documentation of query-replace-from-to-separator
* doc/emacs/search.texi (Query Replace): Document the meaning of
the nil value of query-replace-from-to-separator. (Bug#25482)
Eli Zaretskii [Sat, 18 Feb 2017 10:30:25 +0000 (12:30 +0200)]
Improve commentary for a recent change in keyboard.c
* src/keyboard.c (Fset__this_command_keys): Add a comment about
the magic 248 value. (Bug#25612)
Eli Zaretskii [Sat, 18 Feb 2017 09:32:45 +0000 (11:32 +0200)]
Avoid infloop in rect.el
* lisp/rect.el (rectangle--*-char): Avoid inflooping when called
with argument N whose absolute value is greater than 1. (Bug#25773)
Eli Zaretskii [Sat, 18 Feb 2017 09:28:42 +0000 (11:28 +0200)]
Remove annoying warnings about let-binding
* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
Remove warnings about making symbols local while let-bound.
(Bug#25561)
Hong Xu [Thu, 16 Feb 2017 21:28:56 +0000 (13:28 -0800)]
Avoid errors when flyspell-generic-check-word-predicate is a lambda.
* flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
functionp instead of fboundp on
flyspell-generic-check-word-predicate (Bug#25765).
Glenn Morris [Sat, 18 Feb 2017 01:15:21 +0000 (20:15 -0500)]
Remove the build number from emacs-version variable
It's a largely internal detail that can confuse users. (Bug#25590)
* lisp/version.el (emacs-build-number): New constant.
(emacs-version): Use emacs-build-number.
* lisp/loadup.el (top-level): When dumping, increment
emacs-build-number rather than emacs-version.
* src/emacs.c (emacs-version): Doc fix.
* doc/lispref/intro.texi (Version Info): Update emacs-version details.
Mention emacs-build-number.
* lisp/gnus/gnus-util.el (gnus-emacs-version):
* lisp/mail/emacsbug.el (report-emacs-bug):
* admin/admin.el (set-version): Update for emacs-version change.
; * etc/NEWS: Mention this.
Glenn Morris [Sat, 18 Feb 2017 00:06:15 +0000 (19:06 -0500)]
Ensure that user-mail-address always has a value
* lisp/startup.el (user-mail-address): Initialize in the normal way.
(command-line): Reset user-mail-address if needed using
standard custom machinery.
* lisp/mail/feedmail.el (feedmail-fiddle-from):
* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
* lisp/mail/rmailsum.el (rmail-header-summary):
Simplify now that user-mail-address is always set.
; * doc/lispref/os.texi (System Environment): Remove fixme comment.
Mark Oteiza [Sat, 18 Feb 2017 00:01:11 +0000 (19:01 -0500)]
Turn on lexical-binding in ruby-mode
* lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
(ruby-font-lock-syntax-table): Use make-syntax-table.
(ruby-mode): 'define-derived-mode' writes the keys for us.
Mark Oteiza [Fri, 17 Feb 2017 23:52:12 +0000 (18:52 -0500)]
Turn on lexical-binding in elint.el
* lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
(elint-running, elint-current-pos): Move these dynamic vars to toward
the top of the file.
(elint-check-quote-form): Ignore unused argument.
(elint-check-conditional-form): Remove unused binding.
Gemini Lasswell [Sun, 5 Feb 2017 00:16:11 +0000 (16:16 -0800)]
* lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
Mark Oteiza [Fri, 17 Feb 2017 23:38:09 +0000 (18:38 -0500)]
Enable erc-accidental-paste-threshold-seconds by default
* lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
default to 0.2 (Bug#25709).
Michal Nazarewicz [Fri, 17 Feb 2017 15:36:44 +0000 (16:36 +0100)]
Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
The [
5ec3a584: Generate upcase and downcase tables from Unicode data]
commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
one created with ‘make extraclean’), see
<http://hydra.nixos.org/build/
48774928>.
The failure was caused by characters.el trying to read Unicode
property tables which aren’t available so early in the build process.
Wrap the part that requires Unicode property tables in a condition
checking if those are available. If they aren’t they case and syntax
tables won’t be fully set but later on, the characters.el file will be
evaluated again and this time with Unicode properties available so
final Emacs ends up with the exact same case and syntax tables.
Katsumi Yamaoka [Fri, 17 Feb 2017 10:05:56 +0000 (10:05 +0000)]
mm-add-meta-html-tag: Improve regexp
* lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
Improve regexp to search html meta tag.
Katsumi Yamaoka [Fri, 17 Feb 2017 09:52:09 +0000 (09:52 +0000)]
mm-shr: Prefer charset specified in html meta tag
* lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
meta tag than mail-parse-charset in the case there is no charset spec
in MIME header.
Glenn Morris [Fri, 17 Feb 2017 05:43:23 +0000 (21:43 -0800)]
Stop duplicating some custom-types in message.el
* lisp/gnus/message.el (user-mail-address, user-full-name):
No need to re-specify custom-type.
Glenn Morris [Fri, 17 Feb 2017 04:33:24 +0000 (20:33 -0800)]
Whitespace trivia in dunnet.el
* lisp/play/dunnet.el (dun-special-object, dun-put-objs)
(dun-rlogin-endgame): Whitespace trivia.
Glenn Morris [Fri, 17 Feb 2017 04:24:37 +0000 (20:24 -0800)]
Explicit error on changing case of negative integers
* src/casefiddle.c (casify_object): Reject negative integers:
Emacs characters are positive integers. (Bug#25684)
Dmitry Gutov [Fri, 17 Feb 2017 01:00:46 +0000 (03:00 +0200)]
Fix buffers update in vc-retrieve-tag
* lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
`repository', use the repository root and pass it to
vc-resynch-buffer (bug#25714).
Paul Eggert [Thu, 16 Feb 2017 17:17:45 +0000 (09:17 -0800)]
; Spelling, punctuation and minor wording fixes
Paul Eggert [Thu, 16 Feb 2017 15:55:28 +0000 (07:55 -0800)]
* src/buffer.h: Fix indenting.
Paul Eggert [Thu, 16 Feb 2017 15:52:57 +0000 (07:52 -0800)]
Add sanity checks for Bswitch hash tables
* src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
Check that operand is a hash table and hashes to ints.
Paul Eggert [Thu, 16 Feb 2017 15:49:03 +0000 (07:49 -0800)]
* src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
Vibhav Pant [Thu, 16 Feb 2017 14:48:55 +0000 (20:18 +0530)]
bytecomp.el: Avoid unnecessary calculation for jump table addresses.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
redundant operations while calculating the correct jump addresses
from TAGs in jump tables.
Mark Oteiza [Thu, 16 Feb 2017 01:43:55 +0000 (20:43 -0500)]
Minor changes in json.el
* lisp/json.el (json-advance): Simpler docstring.
(json-read-escaped-char): Use xdigit subform in rx expression.
(json-read-string): Just use = for char comparison.
Mark Oteiza [Thu, 16 Feb 2017 01:40:46 +0000 (20:40 -0500)]
Don't expand body inside a let-binding when there are no bindings
* lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
is non-nil.
Glenn Morris [Thu, 16 Feb 2017 01:23:07 +0000 (20:23 -0500)]
Handle user-mail-address being the empty string
* lisp/mail/feedmail.el (feedmail-fiddle-from):
* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
* lisp/mail/rmailsum.el (rmail-header-summary):
Belated update for 2002-09-29 startup.el change,
680ebfa, where
the value of user-mail-address during initialization was changed
from nil to the empty string.
Michael Albinus [Wed, 15 Feb 2017 18:42:34 +0000 (19:42 +0100)]
Continue to fix bug#25607
* lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
(ido-file-name-all-completions-1): Do not bind `non-essential'.
* lisp/net/tramp.el: (tramp-completion-file-name-handler):
Improve autoloaded version.
(tramp-completion-file-name-handler): Remove old compat code.
Check only for `tramp-completion-mode-p'.
(tramp-completion-mode-p): Autoload. Do not check any longer
for `last-input-event'.
(tramp-completion-handle-expand-file-name): Simplify. (Bug#25607)
Michal Nazarewicz [Wed, 7 Sep 2016 19:00:57 +0000 (21:00 +0200)]
casing: don’t assume letters are *either* upper- or lower-case (bug#24603)
A compatibility digraph characters, such as Dž, are neither upper- nor
lower-case. At the moment however, those are reported as upper-case¹
despite the fact that they change when upper-cased.
Stop checking if a character is upper-case before trying to up-case it
so that title-case characters are handled correctly. This fixes one of
the issues mentioned in bug#24603.
¹ Because they change when converted to lower-case. Notice an asymmetry
in that for a character to be considered lower-case it must not be
upper-case (plus the usual condition of changing when upper-cased).
* src/buffer.h (upcase1): Delete.
(upcase): Change to upcase character unconditionally just like downcase
does it. This is what upcase1 was.
* src/casefiddle.c (casify_object, casify_region): Use upcase instead
of upcase1 and don’t check !uppercasep(x) before calling upcase.
* src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
downcase(x) and see if it changed.
* test/src/casefiddle-tests.el (casefiddle-tests--characters,
casefiddle-tests-casing): Update test cases which are now passing.
Michal Nazarewicz [Sun, 18 Sep 2016 22:23:40 +0000 (00:23 +0200)]
Generate upcase and downcase tables from Unicode data (bug#24603)
Use Unicode data to generate case tables instead of mostly repeating
them in lisp code. Do that in a way which maps ‘Dz’ (and similar)
digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
changes to syntax table and case tables introduced by this commit.
* lisp/international/characters.el: Remove case-pairs defined with
explicit Lisp code and instead use Unicode character properties.
* test/src/casefiddle-tests.el (casefiddle-tests--characters,
casefiddle-tests-casing): Update test cases which are now working
as they should.
Michal Nazarewicz [Wed, 7 Sep 2016 20:17:21 +0000 (22:17 +0200)]
Add tests for casefiddle.c (bug#24603)
Fixes cases marked FIXME upcoming in followup commits.
* test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
casefiddle-tests-case-table, casefiddle-tests-casing-character,
casefiddle-tests-casing, casefiddle-tests-casing-byte8,
casefiddle-tests-casing-byte8-with-changes): New tests.
(casefiddle-tests--test-casing): New helper function for runnig
some of the tests.
Michal Nazarewicz [Fri, 10 Feb 2017 18:14:39 +0000 (19:14 +0100)]
oldXMenu: add missing #include <string.h>
Some of the files in oldXMenu use functions from string.h without
including that header which results in compile warnings:
ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
ChgPane.c:46:20: warning: incompatible implicit declaration of
built-in function ‘strlen’
ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
function ‘strlen’
Create.c:220:5: warning: implicit declaration of function ‘strcmp’
InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
InsPane.c:65:20: warning: incompatible implicit declaration of
built-in function ‘strlen’
InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
InsSel.c:68:20: warning: incompatible implicit declaration of built-in
function ‘strlen’
InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
Add the necessary ‘#include <string.h>’.
oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
oldXMenu/InsSel.c: add missing #include <string.h>
Paul Eggert [Wed, 15 Feb 2017 15:47:27 +0000 (07:47 -0800)]
Fixup recent rmail patch
* lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
Richard Stallman [Wed, 15 Feb 2017 15:45:51 +0000 (07:45 -0800)]
Rmail fix
* lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
as element 4 of the value.
(rmail-epa-decrypt): Take the text to insert from that element.
Vibhav Pant [Wed, 15 Feb 2017 15:33:05 +0000 (21:03 +0530)]
bytecomp-tests.el: Store all test forms in one constant.
* test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
in a single constant (byte-opt-testsuite-arith-data), add new forms
which generate lapcode with adjacent/redundant tags.
Glenn Morris [Wed, 15 Feb 2017 07:34:49 +0000 (23:34 -0800)]
Small lispref edit
* doc/lispref/os.texi (User Identification):
Remove extraneous detail about user-mail-address.
Katsumi Yamaoka [Wed, 15 Feb 2017 05:59:29 +0000 (05:59 +0000)]
Document fill-separate-heterogeneous-words-with-space (bug#25685)
* doc/lispref/text.texi (Filling):
Document fill-separate-heterogeneous-words-with-space (bug#25685).
Noam Postavsky [Sun, 12 Feb 2017 04:15:13 +0000 (23:15 -0500)]
Test comment-multi-line = nil auto fill case too
* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
`comment-multi-line' both nil and non-nil.
* lisp/newcomment.el (comment-multi-line): Mark safe if it's a
boolean.
* etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
Katsumi Yamaoka [Wed, 15 Feb 2017 01:26:59 +0000 (01:26 +0000)]
Don't delete leading and trailing space from CJK word (bug#25685)
* lisp/textmodes/fill.el (fill-delete-newlines):
Don't delete leading and trailing space from CJK word.
(fill-separate-heterogeneous-words-with-space):
New user option that controls it (bug#25685).
Juri Linkov [Tue, 14 Feb 2017 23:28:15 +0000 (01:28 +0200)]
‘M-s w RET word C-s’ repeats incremental search.
* lisp/isearch.el (isearch-new-nonincremental): New variable.
(with-isearch-suspended): Bind isearch-new-nonincremental to
isearch-nonincremental, and restore it afterwards.
(isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
Set isearch-new-nonincremental to nil. (Bug#25562)
Tom Tromey [Tue, 14 Feb 2017 01:09:36 +0000 (18:09 -0700)]
Make vc-git detect conflict state for vc-dir
* lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
(vc-git-dir-status-update-file): New function.
(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
vc-git-dir-status-state; add 'ls-files-conflict state.
(vc-git-dir-status-files): Create a vc-git-dir-status-state.
Vibhav Pant [Tue, 14 Feb 2017 16:17:59 +0000 (21:47 +0530)]
byte-opt: Replace merged tags in jump tables too. (bug#25716)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
adjacent tags, make sure that the old tag is replaced in all jump
tables, if any. This fixes the bytecode VM jumping to the wrong
address in compiled cond forms where the body of a clause was a loop
of any sort.
Eli Zaretskii [Tue, 14 Feb 2017 16:17:51 +0000 (18:17 +0200)]
; * test/file-organization.org: Minor copyedits.
Glenn Morris [Tue, 14 Feb 2017 07:36:17 +0000 (23:36 -0800)]
Remove overly broad element from default mail-dont-reply-to-names
* lisp/mail/mail-utils.el (mail-dont-reply-to):
Do not include just "user@" in mail-dont-reply-to-names, and simplify.
Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
* lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
* doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
Juri Linkov [Tue, 14 Feb 2017 00:04:28 +0000 (02:04 +0200)]
* etc/NEWS: Mention query-replace-from-to-separator. (Bug#25482)
Vibhav Pant [Mon, 13 Feb 2017 17:24:05 +0000 (22:54 +0530)]
; etc/TODO: Remove 'switch' item, as it is now implemented.
Arash Esbati [Mon, 13 Feb 2017 08:22:12 +0000 (09:22 +0100)]
Match all characters in optional argument of \documentclass
* lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
characters in optional argument containing name of the main file.
Vibhav Pant [Mon, 13 Feb 2017 11:37:36 +0000 (17:07 +0530)]
Merge branch 'master' into feature/byte-switch
Vibhav Pant [Mon, 13 Feb 2017 11:14:06 +0000 (16:44 +0530)]
; Add more documentation for byte-switch related code.
Katsumi Yamaoka [Mon, 13 Feb 2017 08:30:28 +0000 (08:30 +0000)]
Fix non-ASCII text encoding (bug#25658)
* lisp/gnus/mm-bodies.el (mm-encode-body):
Fix non-ASCII text encoding (bug#25658).
Vibhav Pant [Mon, 13 Feb 2017 07:48:54 +0000 (13:18 +0530)]
test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
Glenn Morris [Mon, 13 Feb 2017 03:02:56 +0000 (19:02 -0800)]
Fix recent bootstrap issue by moving string-to-list
* lisp/international/mule-util.el (string-to-list, string-to-vector):
Move from here...
* lisp/subr.el (string-to-list, string-to-vector): ...to here.
The implementation is trivial and at least string-to-list
has ended up being needed early during bootstrap.
Glenn Morris [Mon, 13 Feb 2017 01:53:13 +0000 (17:53 -0800)]
Doc fixes related to mail-host-address
* lisp/startup.el (mail-host-address): Doc fix.
* doc/lispref/os.texi (System Environment):
Remove extraneous details of mail-host-address.
Glenn Morris [Mon, 13 Feb 2017 01:44:46 +0000 (17:44 -0800)]
Simplify time-stamp mail host usage
* lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
(time-stamp-string-preprocess): Handle "h" (mail host) directly.
Glenn Morris [Mon, 13 Feb 2017 01:36:33 +0000 (17:36 -0800)]
Doc fix for vhdl-mode re mail-host-address
* lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
(mail-host-address): Do not add to vhdl-related custom group,
since vhdl-template-replace-header-keywords doesn't use it.
Mark Oteiza [Mon, 13 Feb 2017 01:25:57 +0000 (20:25 -0500)]
Substitute leading $HOME/ in xdg-user-dirs
* lisp/xdg.el (xdg--substitute-home-env): New function.
(xdg--user-dirs-parse-line): Use it.
(xdg-user-dir): Expand ~/ in xdg-user-dirs values.
Mark Oteiza [Mon, 13 Feb 2017 01:02:26 +0000 (20:02 -0500)]
* lisp/buff-menu.el: Turn on lexical-binding.
Juri Linkov [Mon, 13 Feb 2017 00:37:52 +0000 (02:37 +0200)]
* lisp/replace.el (query-replace-from-to-separator): Move propertize
and char-displayable-p test to query-replace-read-from.
Add choice nil to disable this feature.
(query-replace-read-from): Don't reevaluate custom setting.
Use char-displayable-p to test the first non-whitespace character
in query-replace-from-to-separator, use " -> " when fails.
Add prompt for the case when separator is nil but
query-replace-defaults is non-nil.
Remove unused test for regexp-flag.
Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
Karl Fogel [Sun, 12 Feb 2017 23:21:06 +0000 (17:21 -0600)]
Convert more uses of `looking-at' to `following-char'
This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
(commit
91478f46238a) with more of the same.
* lisp/bookmark.el (bookmark-send-edited-annotation):
(bookmark-bmenu-execute-deletions): Replace instances of looking-at
with char comparisons using following-char.
Paul Eggert [Sun, 12 Feb 2017 20:55:11 +0000 (12:55 -0800)]
Fix typos in tests for lax-plist-get etc.
Problem reported by Eli Zaretskii (Bug#25606#62).
* test/src/fns-tests.el (test-cycle-lax-plist-get)
(test-cycle-plist-put, test-cycle-lax-plist-put):
Fix tests to match behavior.
Michael Albinus [Sun, 12 Feb 2017 17:19:32 +0000 (18:19 +0100)]
Fix bug#25607
* lisp/net/tramp.el (tramp-completion-file-name-handler):
Improve autoloaded version.
(tramp-autoload-file-name-handler): Avoid recursive load.
(tramp-completion-handle-expand-file-name): Handle empty NAME.
(Bug#25607)
Mark Oteiza [Sun, 12 Feb 2017 16:51:19 +0000 (11:51 -0500)]
Remove server-buffer-clients string from minor-mode-alist
* lisp/server.el: Don't put an element for server-buffer-clients into
minor-mode-alist. (Bug#20201)
Mark Oteiza [Sun, 12 Feb 2017 14:46:03 +0000 (09:46 -0500)]
Nix some useless uses of looking-at, looking-back
* lisp/allout.el (allout-kill-topic):
(allout-next-topic-pending-encryption):
* lisp/bookmark.el (bookmark-kill-line):
* lisp/cus-edit.el (custom-save-variables, custom-save-faces):
* lisp/cus-theme.el (custom-theme-write-variables):
(custom-theme-write-faces):
* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
* lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
(checkdoc-interactive-ispell-loop):
(checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
(checkdoc-this-string-valid-engine):
* lisp/emacs-lisp/elint.el (elint-get-top-forms):
* lisp/emulation/viper-cmd.el (viper-backward-indent):
* lisp/image-dired.el (image-dired-delete-char):
* lisp/simple.el (kill-visual-line): Replace instances of looking-at,
looking-back with char comparisons using following-char, preceding-char.
Vibhav Pant [Sun, 12 Feb 2017 07:54:55 +0000 (13:24 +0530)]
; lisp/emacs-lisp/bytecomp.el: Fix indentation.
Tom Tromey [Sun, 5 Feb 2017 18:40:18 +0000 (11:40 -0700)]
Recognize JS regexp literals more correctly
Bug#25529
* lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
constant.
(js-syntax-propertize-regexp): Use it. Remove "end" argument.
(js--syntax-propertize-regexp-syntax-table): Remove.
(js-syntax-propertize): Update.
* test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
New test.
Vibhav Pant [Sat, 11 Feb 2017 18:11:56 +0000 (23:41 +0530)]
src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
This avoids using XUINT every time while comparing it with
HASH_HASH (h, i), replacing it with EQ.
Vibhav Pant [Sat, 11 Feb 2017 17:39:47 +0000 (23:09 +0530)]
src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
Tom Tromey [Sat, 11 Feb 2017 15:43:33 +0000 (08:43 -0700)]
Fix bug in css--mdn-find-symbol
* lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
before skipping word characters.
test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
regression test.
Vibhav Pant [Sat, 11 Feb 2017 15:06:30 +0000 (20:36 +0530)]
; src/bytecode.c (exec_byte_code): Refactor byte-switch code.
Remove unnecessary asserts, remove duplicate code.
Vibhav Pant [Sat, 11 Feb 2017 14:43:54 +0000 (20:13 +0530)]
src/bytecode.c: Add optional sanity check for jump tables.
* src/bytecode.c (exec_byte_code): When sanity checks are enabled,
check that the jump table's size is equal to it's count.
Vibhav Pant [Sat, 11 Feb 2017 14:24:37 +0000 (19:54 +0530)]
Merge branch 'master' into feature/byte-switch
Vibhav Pant [Sat, 11 Feb 2017 12:47:57 +0000 (18:17 +0530)]
* src/bytecode.c: Refactor to follow GNU coding standards
Eli Zaretskii [Sat, 11 Feb 2017 09:55:11 +0000 (11:55 +0200)]
Fix handling of XBM images on MS-Windows
* src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
'nbytes' when inverting XBM data bits. (Bug#25661)
Michael Albinus [Sat, 11 Feb 2017 09:29:29 +0000 (10:29 +0100)]
; Fix typo in etc/NEWS
Eli Zaretskii [Sat, 11 Feb 2017 09:09:33 +0000 (11:09 +0200)]
Fix handling of PBM data
* src/image.c (pbm_load): Handle PBM data with no blanks between
individual pixel values correctly. (Bug#25660)
Noam Postavsky [Fri, 10 Feb 2017 20:33:05 +0000 (15:33 -0500)]
Fix warnings in debug tracing code
* src/xdisp.c (dump_glyph, dump_glyph_string):
* src/xfaces.c (dump_realized_face): Cast arguments or adjust format
specifiers to match signedness.